package com.excerise.datatype;

/**
 *
 *
 * @author Way on 2021/7/26
 */
public class FloatDetail {

    public static void main(String[] args) {
        // 浮点数使用陷阱：2.7 和 8.1 / 3
        double num1 = 2.7;
        double num2 = 8.1 / 3;
        System.out.println(num1);
        // 接近2.7的一个数而不是2.7
        System.out.println(num2);
        // 得到一个重点，当我们对运算结果是小数的代码进行相等判断时，要格外小心
        // 当前结果为false
        // 应该是以两个数差值的绝对值，在某个精度范围内来判断
        if (num1 == num2) {
            System.out.println("相等");
        }

        System.out.println(Math.abs(num1 - num2));

        // 小到我规定的范围之内，我就认为这两个数是相等的
        if (Math.abs(num1 - num2) < 0.000001) {
            System.out.println("num1相等于num2");
        }
    }
}
